Existing reporting systems, and in particular data warehouse systems, operate by obtaining requests, either from users of the reporting system or from a scheduled event, for example, performing processing to address those requests, and thereafter outputting information to the user, for example, that is responsive to the request. Accordingly, it should be appreciated that a request may be a scheduled report or an alert, for example, and not just a user request. A request might be characterized as a “job.” The ability to complete jobs as a result of a scheduled event or for a user, as well as any other individual utilizing the reporting system, depends both on the number of other requests, i.e., by other users, that has been submitted as well as the processing resources available to the reporting system.
One goal in existing reporting systems is to ensure efficient usage of processing resources in completing the various computing jobs. However, various other factors should also be taken into account. For example, processing very large jobs on a continued basis would ensure efficient usage of resources. However, such processing of very large jobs only would be to the detriment of a user who submits small jobs, which are not completed in a reasonable time. Accordingly, it is desired to prioritize jobs in some reasonable manner while insuring the efficient usage of processing resources. In addition, organizations may want to control how processing resources for a reporting system are divided among various user communities. However, conventional systems and methods fall short of addressing these desired objectives. Further, conventional methods and systems suffer from other drawbacks.